package serializer

// 基础序列化器
type Response struct {
	Status int         `json:"status"`
	Data   interface{} `json:"data"` // 使Response结构体能灵活地返回各种类型的数据
	Msg    string      `json:"msg"`  // 表示响应的通用消息
	Error  string      `json:"error"`
	/* 标签 (json:"..."): 标签用于指定如何将结构体字段序列化为JSON格式*/
}

// TokenData 带有token的Data结构
type TokenData struct {
	User  interface{} `json:"user"`  // 该空接口用于存储用户的详细信息或简化版本
	Token string      `json:"token"` // 用于存储身份验证令牌
}

// DataList 带有总数的Data结构
type DataList struct {
	Item  interface{} `json:"item"`
	Total uint        `json:"total"`
}

// 带总数的返回
func BuildListResponse(items interface{}, total uint) Response {
	return Response{
		Status: 200,
		Data: DataList{
			Item:  items,
			Total: total,
		},
		Msg: "ok",
	}
}
